/*
 * Copyright 2006-2023 ahtelit.com, All Rights Reserved.
 */

package com.telit.firecommand.service;

import com.telit.common.entity.PageData;
import com.telit.firecommand.dto.DistrictCountDTO;
import com.telit.firecommand.entity.IotData;
import com.telit.firecommand.entity.IotDevice;
import com.telit.firecommand.model.iot.IotDeviceListModel;
import com.telit.firecommand.model.iot.QryDevicesDataRequest;
import com.telit.firecommand.model.iot.QryDevicesListRequest;

import java.util.List;


/**
 * IotService
 *
 * @author yuezhuang
 * @since 2023-04-27
 */
public interface IotService {

    /**
     * 查询第三方IOT设备列表
     */
    PageData<List<IotDeviceListModel>> qryOutDeviceList(QryDevicesListRequest qryDevicesListRequest);

    /**
     * 查询数据库IOT设备列表
     */
    PageData<List<IotDevice>> qryDeviceList(QryDevicesListRequest qryDevicesListRequest);

    /**
     * 查询数据库IOT设备数据列表
     */
    PageData<List<IotData>> qryDeviceDataList(QryDevicesDataRequest qryDevicesDataRequest);

    /**
     * 查询数据库IOT设备详情
     */
    IotDevice qryDeviceDetail(Long id, String sn);

    /**
     * 查询数量
     */
    DistrictCountDTO count(String districtCode, Boolean networkStatus, String name);

    /**
     * 查询树形结构
     */
    DistrictCountDTO treeDistrict(String districtCode, Boolean networkStatus, String name);

}
